<?php
class Congty_Controller{
	var $model;
	var $view;
	//var $macongty;
	
	function _construct(){
		//khai báo model
		$this->model = new Congty_Model();
		//$this->model->_construct($dbm);
		
		//khai báo view
		$this->view = new Congty_View();
	}
	
	function congTy_Action($dbm){
		$res = NULL;
		if(isset($_REQUEST)){
		//var_dump($_REQUEST);
			
			//FORM REQUEST
			if(isset($_REQUEST['hiddenInfo'])){
				if($_REQUEST['hiddenInfo']=="congtythongtin"){
					$this->model->_construct($dbm,"congty_thongtin");
					if(isset($_REQUEST['btnUpdate'])){  // UPDATE
						
						$set = "";
						$maCty ="";
						//tạo chuỗi SET
						foreach($_REQUEST as $kSet=>$vSet){
							if($kSet==Consts::MA_CTY || $kSet==Consts::SAN_CK || $kSet==Consts::BTN_UPDATE || $kSet=="hiddenInfo")													continue;
							$set .= "$kSet = '$vSet',";
						}
						$set = substr($set,0,-1);
						
						//tạo chuỗi WHERE
						$maCty = $_REQUEST[Consts::MA_CTY];
						$condition = "WHERE MaCongTy='$maCty'";
						
						//thực hiện update
						$res = "<script>alert('".$this->model->update_CongTy($set,$condition)."') </script>";
						//lấy dữ liệu
						$arrData = $this->model->getOne_CongTy(array('field'=>"*",'where'=>"MaCongTy='$maCty'"));
						
						if(gettype($arrData)=="object"){// kt loại dữ liệu của mảng
							$arrData = $this->model->convertArrayObject($arrData);
						}
						
						//lấy chuỗi html hiển thị
						$res .= $this->view->showUpdate_CongTy($arrData);				
						return $res;
					}
					else if(isset($_REQUEST['btnInsert'])){ // INSERT isset($_REQUEST['btnInsert'])						
						$cols=""; $vals="";
						$maCty = $_REQUEST['MaCongTy'];
						foreach($_REQUEST as $cName=>$val){
							if($cName=="hiddenInfo" || $cName=="btnInsert") //loại 2 gt ko insert được
								continue;
							$cols .="$cName,";
							$vals .="'$val',";					
						}
						$cols = substr($cols,0,-1); // xóa dấu , cuối chuỗi
						$vals = substr($vals,0,-1);
						
						$res = "<script>alert('".$this->model->insert_CongTy("(".$cols.")",$vals)."')</script>";
						
						//lấy dữ liệu
						$arrData = $this->model->getOne_CongTy(array('field'=>"*",'where'=>"MaCongTy='$maCty'"));
						if(gettype($arrData)=="object"){// kt loại dữ liệu của mảng
							$arrData = $this->model->convertArrayObject($arrData);
						}
						
						//lấy chuỗi html hiển thị
						$res .= $this->view->showUpdate_CongTy($arrData);				
						return $res;
					}
					
				} 
				else{ //congty_taichinh
					
				}
				
			}//KẾT THÚC FORM REQUEST
			
			//thao tác với đường dẫn
			if(isset($_REQUEST['ma'])){
				if($_REQUEST['ma']=="congtythongtin"){				
					$this->model->_construct($dbm,"congty_thongtin");
					
					if(isset($_REQUEST['act']) && isset($_REQUEST['macty'])){
						$act = $_REQUEST['act'];
						$maCty = $_REQUEST['macty'];	
					}
					else if(isset($_REQUEST['act'])){
						$act = $_REQUEST['act'];
						
					}
					else{
						$act = "view";
					}
										
					switch($act){
						/*case "insert":							
						case "update":*/
						case "delete":
							$res = "<script>alert('".$this->model->delete_CongTy("MaCongTy='$maCty'")."')</script>";
							$arrData = $this->model->getAll_CongTy(array('field'=>"*",'limit'=>"LIMIT 0,10"));
							$res .= $this->view->showAll_CongTy($arrData);
							break;
						case "show_update":
							$arrData = $this->model->getOne_CongTy(array('field'=>"*",'where'=>"MaCongTy='$maCty'"));
							if(gettype($arrData)=="object")
								$arrData = $this->model->convertArrayObject($arrData);
							//lấy chuỗi html hiển thị
							$res = $this->view->showUpdate_CongTy($arrData);
							break;
						case "show_insert":
							$res = $this->view->showInsertForm();							
							break;
						case "view":
							$arrData = $this->model->getAll_CongTy(array('field'=>"*",'limit'=>"LIMIT 0,10"));
							$res = $this->view->showAll_CongTy($arrData);
							//echo "asdasd";
							break;
					}
					return $res;
				}
				else{ //congtytaichinh
					$this->model->_construct($dbm,"congty_taichinh");
					
					if(isset($_REQUEST['act']) && isset($_REQUEST['macty'])){
						$act = $_REQUEST['act'];
						$maCty = $_REQUEST['macty'];	
					}
					else{
						$act = "view";
					}
					
					switch($act){
						case "insert":
							$res = "<script>alert('".$this->model->insert_CongTy()."')</script>";
							break;
						/*case "update":
							$res = "<script>alert('".$model->update_CongTy($maCty)."')</script>";
							break;*/
						case "delete":
							$res = "<script>alert('".$this->model->delete_CongTy("MaCongTy='$maCty'")."')</script>";
							$arrData = $this->model->getAll_CongTy(array('field'=>"*",'limit'=>"LIMIT 0,10"));
							$res .= $this->view->showAll_CongTy($arrData);
							break;
						case "show_update":
							$arrData = $this->model->getOne_CongTy(array('field'=>"*",'where'=>"MaCongTy='$maCty'"));
																   //echo "sadfasfsaf";
							//lấy chuỗi html hiển thị
							$res = $this->view->showUpdate_CongTy($arrData);
							break;					
						case "view":
							$arrData = $this->model->getAll_CongTy(array('field'=>"*",'limit'=>"LIMIT 0,10"));
							$res = $this->view->showAll_CongTy($arrData);
							//echo "asdasd";
							break;
					}
					return $res;
				}
			}
			else{ //nếu ko có 'ma'
				//hiển thị menu của cả 2
				$res = $this->view->showMenu();
				return $res;
			}
			
			
			
		}
		else //hiển thi thông tin của 2 loại cty (làm sau)
			$this->request="";
		
		
	}
	
}


?>